package com.yuandian.management.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuandian.bpm.common.core.util.R;
import com.yuandian.management.vo.*;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * <p>
 *  导入流水service
 * <p>
 *
 * @author
 * @date 2021/9/23
 * @since 1.0.0
 */
public interface IExcelBatchService {

    /**
     *查询流水信息
     * @param params
     * @return
     */
	Page<ImportInfoVo> queryBatchList(ImportInfoVo params);

    /**
     * 导出Excel
     * @param excelName    Excel表名
     * @param dataNumber    流水号
     * @param response
     * @throws IOException
     */
    void getExcelExport(String excelName, String dataNumber, HttpServletResponse response) throws IOException;

    /**
     * 导出Excel模板
     * @param excelName Excel  表名
     * @param filePath  模板Excel 存放的路径
     * @param response
     * @throws Exception
     */
    void getTemplate(String excelName, String filePath, HttpServletResponse response ) throws Exception;

	/**
	 * 导入模板
	 * @param excelBusinessVoList   业务对象列表
	 * @param excelStepList         步骤对象列表
	 * @return
	 */
	R resultMap(List<ExcelBusinessVo> excelBusinessVoList , List<ExcelStepVo> excelStepList) ;


	/**
	 * 前端查询，根据流水号获取业务
	 *  dataNumber: 流水号
	 *  pageSize: 页大小
	 *  pageNUm: 页号
	 * @return
	 */
	Page<ExcelBusiness> queryBusinessBatchList(ImportBusinessResultVo business);

	Page<ImportStepResultVo> queryStepList(ImportStepResultVo step);
}
